package com.heaboy.feedback.service;

import java.util.List;
import com.heaboy.feedback.domain.Lesson;
import com.baomidou.mybatisplus.extension.service.IService;
import com.heaboy.feedback.domain.vo.LessonVO;

/**
 * 课Service接口
 * 
 * @author heaboy
 * @date 2024-02-01
 */
public interface ILessonService  extends IService<Lesson>
{
    /**
     * 查询课
     * 
     * @param id 课主键
     * @return 课
     */
    public Lesson selectLessonById(Long id);

    /**
     * 查询课列表
     * 
     * @param lesson 课
     * @return 课集合
     */
    public List<Lesson> selectLessonList(Lesson lesson);

    /**
     * 新增课
     * 
     * @param lesson 课
     * @return 结果
     */
    public int insertLesson(Lesson lesson);

    /**
     * 修改课
     * 
     * @param lesson 课
     * @return 结果
     */
    public int updateLesson(Lesson lesson);

    /**
     * 批量删除课
     * 
     * @param ids 需要删除的课主键集合
     * @return 结果
     */
    public int deleteLessonByIds(Long[] ids);

    /**
     * 删除课信息
     * 
     * @param id 课主键
     * @return 结果
     */
    public int deleteLessonById(Long id);

    /**
     * 开始上课
     *
     * @param courseClazzId
     * @return
     */
    Lesson start(Long courseClazzId);

    Lesson goLesson(Long id);

    LessonVO lessonInfo(Long id);
}
